package com.laiketui.order.api.params;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.laiketui.domain.vo.MainVo;
import com.laiketui.order.api.dto.OrderRemarkDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Setter
@Getter
@ToString
public class PlaceOrderParams extends MainVo {
    //地址ID
//    private String addressId;

    /**
     * 收货人
     */
    @NotBlank(message ="收货人不能为空")
    private String name;

    /**
     * 联系方式
     */
    @NotBlank(message ="收货人联系方式不能为空")
    private String tel;
    /**
     * 省id
     */
    @NotBlank(message ="省不能为空")
    private String sheng;

    /**
     * 市id
     */
    @NotBlank(message ="市不能为空")
    private String city;

    /**
     * 区域id
     */
    @NotBlank(message ="区域不能为空")
    private String quyu;

    /**
     * 收货地址（不加省市区）
     */
    @NotBlank(message ="收货地址不能为空")
    private String address;

    //购物车IDs
    @NotBlank(message ="购物车ID不能为空,多个以英文逗号拼接")
    private String cartIds;

    //订单备注
    private String remark;
    /**
     * 0 不开票 1 开票
     */
    @NotNull(message ="开票类型,0 不开票 1 开票")
    private Integer invoice;

    /**
     * 期望发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date expectedDeliveryTime;

    /**
     * 开票单位名称
     */
    private String organization;

    /**
     * 开票纳税人识别码
     */
    private String taxpayerNumber;

    /**
     * 开票地址
     */
    private String taxAddress;

    /**
     * 开票电话
     */
    private String taxPhone;

    /**
     * 开票账户
     */
    private String taxAccount;

    /**
     * 开票银行
     */
    private String taxBank;


    /**
     * 个人开票身份证
     */
    private String taxCardNo;

    /**
     * 个人开票姓名
     */
    private String taxName;


    /**
     *
     * {@link  com.laiketui.order.api.enums.TaxTypeEnum}
     */
    private Integer taxType;

    /**
     * 店铺订单备注 单个店铺的备注
     */
//    private List<OrderRemarkDTO> remarks;
    private String remarks;
    /**
     * 商品规格数量
     */
//    @NotBlank(message ="商品规格数量不能为空")
    private String skuNums;


    /**
     * 线下支付类型 1线下转账
     */
    private Integer offlinePayType;




}
